home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 52
/
Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso
/
Aminet
/
util
/
moni
/
Sysmon120a.lha
/
sysmon
/
s
/
Shutdown
next >
Wrap
AmigaDOS Script File
|
2001-06-23
|
2KB
|
98 lines
.KEY countdown,reboot/s,rekick/s,noconf/s,quick/s
; $VER: Shutdown 1.3 (23.6.2001) © 1995-2001 by Etienne Vogt
; Sysmon system shutdown script
FailAt 100
Echo "*N*E[37m SHUTDOWN *E[0m - Halt the system safely*N"
If <noconf> NOT EQ "noconf"
Ask "*E[33mAre you sure you want to do this ?*E[0m"
If WARN
Skip OK
Else
Quit 20
EndIf
EndIf
Lab OK
ChangeTaskPri 2 ; Bump priority
If <quick> EQ "quick"
Set timeout 10
Set quiet QUIET
Else
Set timeout 50
Set quiet ""
EndIf
Set count <countdown$0>
If $count GT 10 VAL
Set count 10
EndIf
Broadcast "$hostname will shutdown in $count minute(s)*N" SHUTDOWN COUNTDOWN=`Eval $count * 60` TIMEOUT=$timeout
If $count NOT GT 0 VAL
Skip Now
EndIf
Lab Loop
If $count GT 5 VAL
Set next 5
Skip Waiting
EndIf
If $count GT 3 VAL
Set next 3
Else
Set next `Eval $count - 1`
EndIf
Lab Waiting
Wait `Eval $count - $next` min
If WARN
Broadcast "$hostname shutdown has been cancelled*N" SHUTDOWN CANCEL
UnSet count
UnSet next
UnSet timeout
UnSet quiet
Quit 10
Else
Broadcast "$hostname will shutdown in $next minute(s)*N" SHUTDOWN COUNTDOWN=`Eval $next * 60` TIMEOUT=$timeout
EndIf
Set count $next
If $count GT 0 VAL
Skip BACK Loop
EndIf
Lab Now
UnSet count
UnSet next
SysLog "Shutdown : $hostname shutdown requested by operator" LEVEL=4
If <quick> NOT EQ "quick"
If EXISTS S:User-Shutdown
Echo "*NExecuting User-Shutdown script..."
Execute S:User-Shutdown
EndIf
Wait 2 sec
EndIf
Echo "*NDismounting disk volumes..."
Copy >NIL: C:Wait C:UnMount C:Execute C:Halt C:Broadcast RAM: ; Copy needed commands
CD RAM:
Assign C: RAM:
Path RAM: RESET
Broadcast >NIL: "Dismounting disk volumes*N" UNMOUNT TIMEOUT=$timeout
UnMount ALL INHIBIT $quiet
If <quick> NOT EQ "quick"
If EXISTS Final-Shutdown
Echo "*NExecuting Final-Shutdown script..."
Execute Final-Shutdown
EndIf
Wait 2 sec
EndIf
Echo "*NSystem going down..."
Broadcast >NIL: "System going down*N" HALT TIMEOUT=$timeout
Halt <reboot> <rekick>
Echo "*NSystem Shutdown failed."
UnSet timeout
UnSet quiet
Quit 100